import Vue from 'vue'

/**
 * 把店铺类型的字符串，转换成数组
 */

Vue.prototype.$shopTypeNameArr = (str) => {
	if (uni.$cx.checkString(str)) {
		return []
	}

	let arr = str.split(",")
	let typeName = []
	for (var i = 0; i < arr.length; i++) {
		let type = arr[i]
		// 店铺类型(0:救援,1:到店维修,2:二手车回收,3:租车)
		if (type == 0) {
			let dic = {
				name: '救援',
				color: '#E4F1FE'
			}
			typeName.push(dic)
		} else if (type == 1) {
			let dic = {
				name: '维修',
				color: '#FAFDE4'
			}
			typeName.push(dic)

		} else if (type == 2) {
			let dic = {
				name: '二手车回收',
				color: '#F0FDE6'
			}
			typeName.push(dic)

		} else if (type == 3) {
			let dic = {
				name: '租车',
				color: "#FEE4E4"
			}
			typeName.push(dic)
		}
	}
	return typeName
}


Vue.prototype.$checkUpdateApp = (api) => {

	/* 检查更新 在线更新 */
	let url = Vue.prototype.baseUrl + api;
	//  获取manifest.json里的配置信息
	plus.runtime.getProperty(plus.runtime.appid, async (widgetinfo) => {
		// 可以根据manifest.json里的应用名称来进行针对性的APP升级

		const info = uni.getSystemInfoSync();
		//检测当前平台，如果是安卓则启动安卓更新
		if (info.platform == "android") {
			let data = await Vue.prototype.$getVersion();
			// console.log("***************************")
			// console.log(widgetinfo)
			// console.log("***************************")
			// console.log(data)
			// console.log("***************************")

			if (data.updateFlag == 0 || Vue.prototype.$role != data.appType || data == null) {
				return
			}

			let version = widgetinfo.versionCode, //用户当前版本
				appVersion = data.versionShort, //升级包版本
				appName = widgetinfo.name, //app名称
				updata = 0, //是否强制热更新
				appurl = Vue.prototype.$cxUrl(data.updateUrl), //升级包地址
				intro = data.versionDesc, //升级包提示
				wgt_version = data.wgt_version, //热更新版本号
				wgt_download = data.wgt_download; //热更新地址

			//如果用户版本号小于升级包版本号，先升级   
			if (data && (version < appVersion)) {
				uni.showModal({
					title: "更新提示" + data.versionLong,
					confirmText: "立即升级",
					content: intro,
					success: (res) => {
						if (res.confirm) {
							uni.showLoading({
								title: "正在更新",
								mask: true
							})
							uni.downloadFile({
								url: appurl,
								success: (
									download
								) => {
									if (download
										.statusCode ==
										200
									) {
										plus.runtime
											.install(
												download
												.tempFilePath, {
													force: false
												},
												() => {
													uni
														.hideLoading();
													plus.runtime
														.restart(); //更新成功启动
												},
												(
													err
												) => { //若没下载成功还是去下载
													uni
														.hideLoading();
													uni.showToast({
														title: "更新失败，将跳转下载页面",
														icon: "none",
														duration: 2000
													})
												}
											)
										setTimeout
											(function() {
													plus.runtime
														.openURL(
															appurl
														);
												},
												2000
											)
									}
								}
							})
						} else if (res.cancel) {
							console.log('用户点击取消');
							if (updata == 1) {
								uni.showToast({
									title: "版本无法继续使用APP,请先升级",
									icon: "none",
									duration: 2000
								})
								//退出app
								setTimeout(function() {
									plus.runtime
										.quit();
								}, 2000)

							}

						}
					},
					fail: () => {
						uni.hideLoading();
					}
				})
			} else {

			}

			//如果用户版本号大于升级包但不等于热更新版本的情况下，去热更新
			if (data && (version >= appVersion) && (version !=
					wgt_version)) {
				uni.showLoading({
					title: "正在更新包，请稍后...",
					mask: true
				})
				uni.downloadFile({
					url: wgt_download,
					success: (wgtdow) => {
						if (wgtdow.statusCode ==
							200) {
							plus.runtime.install(
								wgtdow
								.tempFilePath, {
									force: true
								}, () => {
									uni
										.hideLoading();
									plus.runtime
										.restart(); //更新成功启动
								}, (err) => { //若没下载成功还是去下载
									uni
										.hideLoading();
									uni.showModal({
										content: "更新失败，请手动下载最新版APP",
										success: (
											res
										) => {
											plus.runtime
												.openURL(
													wgt_download
												);
										}
									})
								})

						}
					}
				})
			}






		} else {
			//非安卓
			console.log("********ios************")

		}


	});

}